require([
    "jquery", 
    "init"
    ], function($){
        $(document).ready(function($){
                
            $('#selectorPrograma').hide();
                
            $('.tipoInteresado').change(function () {
                if($(this).val().length != 0 && $(this).val() != '3'){
                    $('#selectorPrograma').show();
                    $('#selectorPrograma select').addClass('required');
                } else {
                    $('#selectorPrograma').hide()
                    $('#selectorPrograma select').removeClass('required');
                    $('#selectorPrograma select').removeClass('error');
                }
                        
                if($(this).val() == '1') {
                    $('.email').addClass('emailInstitucional');
                } else {
                    $('.email').removeClass('emailInstitucional');
                }
            });
            
            $('.emailInstitucional').live('blur', function() {
                var value = $(this).val();
                var usbctg = value.match(/usbctg.edu.co$/)
                var usbcartagena = value.match(/usbcartagena.edu.co$/)
                if (!$(this).hasClass('error'))
                {
                    if(usbcartagena == null || usbctg == null){
                        $(this).addClass('error');
                        var parent = $(this).parent();
                        if($(parent + ' .custom').length == 0){
                            $(this).parent().append($('<label>').attr('class', 'error custom').text(' Debe incluir el correo institucional'))
                        }
                    }
                } else {
                    $(this).parent().find('.custom').remove();
                }
            });
                    
            $('.item').live('click', function(){
                var container = $(this).parent();
                $(container).find('.active').removeClass('active');
                $(this).addClass('active');
            });
            
            
            $('#capacitacion .item').live('click', function(){
                $('.container:not(#capacitacion) .item').remove();
                
                var idCapacitacion = $(this).data('id');
                
                var url = $('#urlGetDiasDisponibles').val();
                
                $.get(url, { idCapacitacion: idCapacitacion }, function(data){
                    updateStepSelector('#dia', $.parseJSON(data));
                });
            });
            
            $('#dia .item').live('click', function(){
                $('.container:not(#capacitacion, #dia) .item').remove();
                
                var idCapacitacion = $('#capacitacion .active').data('id');
                var idDia = $(this).data('id');
                
                var url = $('#urlGetJornadasDisponibles').val();
                
                $.get(url, { idCapacitacion: idCapacitacion, idDia: idDia }, function(data){
                    updateStepSelector('#jornada', $.parseJSON(data));
                });
            });
            
            $('#jornada .item').live('click', function(){
                $('#capacitacionSeleccionada').val($(this).data('id'));
            });
            
            function updateStepSelector(selector, json) {
                for(var i = 0; i < json.length; i++){
                     var id = json[i].id;
                     var content = json[i].nombre;
                     var item = $('<div>').attr('class', 'item').attr('data-id',id).text(content);
                     
                     $(selector).append(item);
                 }
            }
            
            $('.save').click(function(e){
                if($('#jornada .item.active').length == 0) {
                    e.preventDefault();
                    alert('Debe seleccionar una Capacitacion, con su día y jornada respectiva');
                }
                if($('.custom').length > 0) {
                    e.preventDefault();
                }
            });
            
        });
    });